#ifndef CBITMAPFONT_H
#define CBITMAPFONT_H

#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <string>
#include <vector>
using namespace std;

struct LetterDiff
{
	char m_Letter;
	int m_SpaceDiff;
};

class CBitmapFont
{
public:
	CBitmapFont(void);
	~CBitmapFont(void);
	void Initialize(void);
	void Shutdown(void);
	void Draw( const TCHAR* strOutput, int nX, int nY,
			float fScale, DWORD dwColor ) const;
	RECT GetRect(int id) const;
	void AddLetterDiff(char letter, int space);
	int GetWidth(void) { return m_nCharWidth; }
	int GetStringWidth(string str, float Scale);
private:
	int m_nImageID;
	int m_nCharWidth;
	int m_nCharHeight;
	int m_nNumCols;
	int m_nNumRows;

	bool m_bOnlyUppercase;
	TCHAR m_cFirstChar;
	vector<LetterDiff> m_LetterManager;
};

#endif